5f467ac917198ec0744e67e475640b569bc9af02,src/persistence/org/codehaus/groovy/grails/orm/hibernate/cfg/GrailsDomainBinder.java,GrailsDomainBinder,bindNumericColumnConstraints,#Column#ConstrainedProperty#,1023
Before Change
Comparable minConstraintValue = constrainedProperty.getMin();
Comparable maxConstraintValue = constrainedProperty.getMax();
if ((minSizeConstraintValue != null) || (maxSizeConstraintValue != null) || (minConstraintValue != null) || (maxConstraintValue != null)) {
int minSizeConstraintValueLength = 0;
if (minSizeConstraintValue != null) {
minSizeConstraintValueLength = countDigits(minSizeConstraintValue);
}
int maxSizeConstraintValueLength = 0;
if (maxSizeConstraintValue != null) {
maxSizeConstraintValueLength = countDigits(maxSizeConstraintValue);
}
int minConstraintValueLength = 0;
int minConstraintValueIntegerLength = 0;
if ((minConstraintValue != null) && (minConstraintValue instanceof Number)) {
minConstraintValueLength = countDigits((Number)minConstraintValue);
minConstraintValueIntegerLength = countDigits(new Long(((Number)minConstraintValue).longValue()));
}
int maxConstraintValueLength = 0;
int maxConstraintValueIntegerLength = 0;
if ((maxConstraintValue != null) && (maxConstraintValue instanceof Number)) {
maxConstraintValueLength = countDigits((Number)maxConstraintValue);
maxConstraintValueIntegerLength = countDigits(new Long(((Number)maxConstraintValue).longValue()));
}
// Set the most lenient precision possible based on the many constraints. (In other words,
After Change
countDigits(new Long(((Number) minConstraintValue).longValue())) + scale
);
}
int maxConstraintValueLength = 0;
if ((maxConstraintValue != null) && (maxConstraintValue instanceof Number)) {
maxConstraintValueLength = Math.max(
countDigits((Number) maxConstraintValue),
countDigits(new Long(((Number) maxConstraintValue).longValue())) + scale
);
}
if (minConstraintValueLength > 0 && maxConstraintValueLength > 0) {
// If both of min and max constraints are setted we could use
// maximum digits number in it as precision
precision = NumberUtils.max(new int[] { minConstraintValueLength, maxConstraintValueLength });